Linux通过代理连接sftp | 您所在的位置:网站首页 › linux sftp 连接 › Linux通过代理连接sftp |
背景:应用在内网,通过正向代理走vpn连接合作方sftp上传文件。 通过代理连接sftp命令:sftp -oProxyCommand='/usr/bin/nc --proxy-type http --proxy proxyIp:proxyPort %h %p' -oPort=sftpPort sftpuser@password [user@ABC-L0001 ~]$ sftp -oProxyCommand='/usr/bin/nc --proxy-type http --proxy 10.10.10.10:1080 %h %p' -oPort=2266 [email protected]问题一:应用日志报错“proxy error: Forbidden”,应用服务器通过代理连接合作方sftp报403,代理服务器上直接连接合作方sftp无异常。 2021-09-13 14:37:09.157 [pool-1-thread-1] INFO c.g.btp.domain.gn.service.SftpUploadAsynThread - postSftp_upload:ProxyHTTP: java.io.IOException: proxy error: Forbidden [user@ABC-L0001 ~]$ sftp -oProxyCommand='/usr/bin/nc --proxy-type http --proxy 10.8.174.5:1080 %h %p' -oPort=2266 [email protected] Ncat: Proxy returned status code 403. ssh_exchange_identification: Connection closed by remote host Couldn't read packet: Connection reset by peer [user@ABC-L0001 ~]$初步怀疑问题出在代理,查看squid.conf发现没放行sftp端口,添加规则“acl SSL_ports port 2266”,通过代理连接还是报同样的错,仔细查看代理规则,发现先“deny !Safe_ports”,再“deny CONNECT !SSL_ports” # Deny requests to certain unsafe ports http_access deny !Safe_ports # Deny CONNECT to other than secure SSL ports http_access deny CONNECT !SSL_ports再加一条规则“acl Safe_ports port 2266 # sftp”后,通过代理可正常连接合作方sftp。 acl SSL_ports port 443 acl SSL_ports port 2266 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 2266 # sftp问题二:输入密码后报Connetction Closed [user@ABC-L0001 ~]$ sftp -oProxyCommand='/usr/bin/nc --proxy-type http --proxy 10.8.174.5:1080 %h %p' -oPort=2266 [email protected] [email protected]'s password: Connection Closed [user@ABC-L0001 ~]$原因:密码过期 |
CopyRight 2018-2019 实验室设备网 版权所有 |